package com.huakang.entity;

import java.util.ArrayList;
import java.util.List;

public class AssetExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public AssetExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andAidIsNull() {
            addCriterion("aid is null");
            return (Criteria) this;
        }

        public Criteria andAidIsNotNull() {
            addCriterion("aid is not null");
            return (Criteria) this;
        }

        public Criteria andAidEqualTo(Integer value) {
            addCriterion("aid =", value, "aid");
            return (Criteria) this;
        }

        public Criteria andAidNotEqualTo(Integer value) {
            addCriterion("aid <>", value, "aid");
            return (Criteria) this;
        }

        public Criteria andAidGreaterThan(Integer value) {
            addCriterion("aid >", value, "aid");
            return (Criteria) this;
        }

        public Criteria andAidGreaterThanOrEqualTo(Integer value) {
            addCriterion("aid >=", value, "aid");
            return (Criteria) this;
        }

        public Criteria andAidLessThan(Integer value) {
            addCriterion("aid <", value, "aid");
            return (Criteria) this;
        }

        public Criteria andAidLessThanOrEqualTo(Integer value) {
            addCriterion("aid <=", value, "aid");
            return (Criteria) this;
        }

        public Criteria andAidIn(List<Integer> values) {
            addCriterion("aid in", values, "aid");
            return (Criteria) this;
        }

        public Criteria andAidNotIn(List<Integer> values) {
            addCriterion("aid not in", values, "aid");
            return (Criteria) this;
        }

        public Criteria andAidBetween(Integer value1, Integer value2) {
            addCriterion("aid between", value1, value2, "aid");
            return (Criteria) this;
        }

        public Criteria andAidNotBetween(Integer value1, Integer value2) {
            addCriterion("aid not between", value1, value2, "aid");
            return (Criteria) this;
        }

        public Criteria andRegisIsNull() {
            addCriterion("regis is null");
            return (Criteria) this;
        }

        public Criteria andRegisIsNotNull() {
            addCriterion("regis is not null");
            return (Criteria) this;
        }

        public Criteria andRegisEqualTo(Double value) {
            addCriterion("regis =", value, "regis");
            return (Criteria) this;
        }

        public Criteria andRegisNotEqualTo(Double value) {
            addCriterion("regis <>", value, "regis");
            return (Criteria) this;
        }

        public Criteria andRegisGreaterThan(Double value) {
            addCriterion("regis >", value, "regis");
            return (Criteria) this;
        }

        public Criteria andRegisGreaterThanOrEqualTo(Double value) {
            addCriterion("regis >=", value, "regis");
            return (Criteria) this;
        }

        public Criteria andRegisLessThan(Double value) {
            addCriterion("regis <", value, "regis");
            return (Criteria) this;
        }

        public Criteria andRegisLessThanOrEqualTo(Double value) {
            addCriterion("regis <=", value, "regis");
            return (Criteria) this;
        }

        public Criteria andRegisIn(List<Double> values) {
            addCriterion("regis in", values, "regis");
            return (Criteria) this;
        }

        public Criteria andRegisNotIn(List<Double> values) {
            addCriterion("regis not in", values, "regis");
            return (Criteria) this;
        }

        public Criteria andRegisBetween(Double value1, Double value2) {
            addCriterion("regis between", value1, value2, "regis");
            return (Criteria) this;
        }

        public Criteria andRegisNotBetween(Double value1, Double value2) {
            addCriterion("regis not between", value1, value2, "regis");
            return (Criteria) this;
        }

        public Criteria andProjectIsNull() {
            addCriterion("project is null");
            return (Criteria) this;
        }

        public Criteria andProjectIsNotNull() {
            addCriterion("project is not null");
            return (Criteria) this;
        }

        public Criteria andProjectEqualTo(String value) {
            addCriterion("project =", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectNotEqualTo(String value) {
            addCriterion("project <>", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectGreaterThan(String value) {
            addCriterion("project >", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectGreaterThanOrEqualTo(String value) {
            addCriterion("project >=", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectLessThan(String value) {
            addCriterion("project <", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectLessThanOrEqualTo(String value) {
            addCriterion("project <=", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectLike(String value) {
            addCriterion("project like", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectNotLike(String value) {
            addCriterion("project not like", value, "project");
            return (Criteria) this;
        }

        public Criteria andProjectIn(List<String> values) {
            addCriterion("project in", values, "project");
            return (Criteria) this;
        }

        public Criteria andProjectNotIn(List<String> values) {
            addCriterion("project not in", values, "project");
            return (Criteria) this;
        }

        public Criteria andProjectBetween(String value1, String value2) {
            addCriterion("project between", value1, value2, "project");
            return (Criteria) this;
        }

        public Criteria andProjectNotBetween(String value1, String value2) {
            addCriterion("project not between", value1, value2, "project");
            return (Criteria) this;
        }

        public Criteria andAfeesIsNull() {
            addCriterion("afees is null");
            return (Criteria) this;
        }

        public Criteria andAfeesIsNotNull() {
            addCriterion("afees is not null");
            return (Criteria) this;
        }

        public Criteria andAfeesEqualTo(Double value) {
            addCriterion("afees =", value, "afees");
            return (Criteria) this;
        }

        public Criteria andAfeesNotEqualTo(Double value) {
            addCriterion("afees <>", value, "afees");
            return (Criteria) this;
        }

        public Criteria andAfeesGreaterThan(Double value) {
            addCriterion("afees >", value, "afees");
            return (Criteria) this;
        }

        public Criteria andAfeesGreaterThanOrEqualTo(Double value) {
            addCriterion("afees >=", value, "afees");
            return (Criteria) this;
        }

        public Criteria andAfeesLessThan(Double value) {
            addCriterion("afees <", value, "afees");
            return (Criteria) this;
        }

        public Criteria andAfeesLessThanOrEqualTo(Double value) {
            addCriterion("afees <=", value, "afees");
            return (Criteria) this;
        }

        public Criteria andAfeesIn(List<Double> values) {
            addCriterion("afees in", values, "afees");
            return (Criteria) this;
        }

        public Criteria andAfeesNotIn(List<Double> values) {
            addCriterion("afees not in", values, "afees");
            return (Criteria) this;
        }

        public Criteria andAfeesBetween(Double value1, Double value2) {
            addCriterion("afees between", value1, value2, "afees");
            return (Criteria) this;
        }

        public Criteria andAfeesNotBetween(Double value1, Double value2) {
            addCriterion("afees not between", value1, value2, "afees");
            return (Criteria) this;
        }

        public Criteria andStayIsNull() {
            addCriterion("`stay` is null");
            return (Criteria) this;
        }

        public Criteria andStayIsNotNull() {
            addCriterion("`stay` is not null");
            return (Criteria) this;
        }

        public Criteria andStayEqualTo(Double value) {
            addCriterion("`stay` =", value, "stay");
            return (Criteria) this;
        }

        public Criteria andStayNotEqualTo(Double value) {
            addCriterion("`stay` <>", value, "stay");
            return (Criteria) this;
        }

        public Criteria andStayGreaterThan(Double value) {
            addCriterion("`stay` >", value, "stay");
            return (Criteria) this;
        }

        public Criteria andStayGreaterThanOrEqualTo(Double value) {
            addCriterion("`stay` >=", value, "stay");
            return (Criteria) this;
        }

        public Criteria andStayLessThan(Double value) {
            addCriterion("`stay` <", value, "stay");
            return (Criteria) this;
        }

        public Criteria andStayLessThanOrEqualTo(Double value) {
            addCriterion("`stay` <=", value, "stay");
            return (Criteria) this;
        }

        public Criteria andStayIn(List<Double> values) {
            addCriterion("`stay` in", values, "stay");
            return (Criteria) this;
        }

        public Criteria andStayNotIn(List<Double> values) {
            addCriterion("`stay` not in", values, "stay");
            return (Criteria) this;
        }

        public Criteria andStayBetween(Double value1, Double value2) {
            addCriterion("`stay` between", value1, value2, "stay");
            return (Criteria) this;
        }

        public Criteria andStayNotBetween(Double value1, Double value2) {
            addCriterion("`stay` not between", value1, value2, "stay");
            return (Criteria) this;
        }

        public Criteria andMedicIsNull() {
            addCriterion("medic is null");
            return (Criteria) this;
        }

        public Criteria andMedicIsNotNull() {
            addCriterion("medic is not null");
            return (Criteria) this;
        }

        public Criteria andMedicEqualTo(Double value) {
            addCriterion("medic =", value, "medic");
            return (Criteria) this;
        }

        public Criteria andMedicNotEqualTo(Double value) {
            addCriterion("medic <>", value, "medic");
            return (Criteria) this;
        }

        public Criteria andMedicGreaterThan(Double value) {
            addCriterion("medic >", value, "medic");
            return (Criteria) this;
        }

        public Criteria andMedicGreaterThanOrEqualTo(Double value) {
            addCriterion("medic >=", value, "medic");
            return (Criteria) this;
        }

        public Criteria andMedicLessThan(Double value) {
            addCriterion("medic <", value, "medic");
            return (Criteria) this;
        }

        public Criteria andMedicLessThanOrEqualTo(Double value) {
            addCriterion("medic <=", value, "medic");
            return (Criteria) this;
        }

        public Criteria andMedicIn(List<Double> values) {
            addCriterion("medic in", values, "medic");
            return (Criteria) this;
        }

        public Criteria andMedicNotIn(List<Double> values) {
            addCriterion("medic not in", values, "medic");
            return (Criteria) this;
        }

        public Criteria andMedicBetween(Double value1, Double value2) {
            addCriterion("medic between", value1, value2, "medic");
            return (Criteria) this;
        }

        public Criteria andMedicNotBetween(Double value1, Double value2) {
            addCriterion("medic not between", value1, value2, "medic");
            return (Criteria) this;
        }

        public Criteria andPidIsNull() {
            addCriterion("pid is null");
            return (Criteria) this;
        }

        public Criteria andPidIsNotNull() {
            addCriterion("pid is not null");
            return (Criteria) this;
        }

        public Criteria andPidEqualTo(Integer value) {
            addCriterion("pid =", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidNotEqualTo(Integer value) {
            addCriterion("pid <>", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidGreaterThan(Integer value) {
            addCriterion("pid >", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidGreaterThanOrEqualTo(Integer value) {
            addCriterion("pid >=", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidLessThan(Integer value) {
            addCriterion("pid <", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidLessThanOrEqualTo(Integer value) {
            addCriterion("pid <=", value, "pid");
            return (Criteria) this;
        }

        public Criteria andPidIn(List<Integer> values) {
            addCriterion("pid in", values, "pid");
            return (Criteria) this;
        }

        public Criteria andPidNotIn(List<Integer> values) {
            addCriterion("pid not in", values, "pid");
            return (Criteria) this;
        }

        public Criteria andPidBetween(Integer value1, Integer value2) {
            addCriterion("pid between", value1, value2, "pid");
            return (Criteria) this;
        }

        public Criteria andPidNotBetween(Integer value1, Integer value2) {
            addCriterion("pid not between", value1, value2, "pid");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}